﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Text.RegularExpressions;


namespace EntitiesLayer
{
    //no es thread safe.
    public class UsuarioSimple : IEntity
    {
        
        private int idUsuario;
        public int Id
        {
            get { return idUsuario; }

        }

       
        private string identificacion;

        public string Identificacion
        {
            get { return identificacion; }
            set { identificacion = value; }
        }
        private string nombre;

        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        private string pApellido;

        public string PApellido
        {
            get { return pApellido; }
            set { pApellido = value; }
        }
        private string sApellido;

        public string SApellido
        {
            get { return sApellido; }
            set { sApellido = value; }
        }
        private DateTime fechaNacimiento;

        public DateTime FechaNacimiento
        {
            get { return fechaNacimiento; }
            set { fechaNacimiento = value; }
        }
        private DateTime fechaIngreso;

        public DateTime FechaIngreso
        {
            get { return fechaIngreso; }
            set { fechaIngreso = value; }
        }
        private char genero;

        public char Genero
        {
            get { return genero; }
            set { genero = value; }
        }
        private Bitmap foto;

        public Bitmap Foto
        {
            get { return foto; }
            set { foto = value; }
        }
        private string alias;

        public string Alias
        {
            get { return alias; }
            set { alias = value; }
        }
        private string nombreUsuario;

        public string NombreUsuario
        {
            get { return nombreUsuario; }
            set { nombreUsuario = value; }
        }
        private string discripcionTipoId;

        public string DiscripcionTipoId
        {
            get { return discripcionTipoId; }
            set { discripcionTipoId = value; }
        }
        private string nacionalidad;

        public string Nacionalidad
        {
            get { return nacionalidad; }
            set { nacionalidad = value; }
        }

        private RolSimple rol;
        public RolSimple Rol {

            set { rol = value; }
            get { return rol; }
        }

        public UsuarioSimple(
            string identificacion, string nombre, string PApellido,
            string SApellido, DateTime fechaNacimiento, DateTime fechaIngreso, 
            char genero, Bitmap foto, string alias, string nombreUsuario,
            string discripcionTipoId, string nacionalidad, RolSimple rol,
            string ClaveUsuario=null, int idUsuario=0)
        {
            this.idUsuario = idUsuario;
            Identificacion=identificacion;
            Nombre = nombre;
            PApellido = pApellido;
            SApellido = sApellido;
            FechaNacimiento = fechaNacimiento;
            FechaIngreso = fechaIngreso;
            Genero = genero;
            Foto = foto;
            Alias = alias;
            NombreUsuario = nombreUsuario;
            DiscripcionTipoId = discripcionTipoId;
            Nacionalidad = nacionalidad;
            Rol = rol;
        }

        public UsuarioSimple()
        {

        }

    }
}
   